using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Windows.Controls;
namespace PdmSwPlugin.UI
{
///
/// SB.xaml 的交互逻辑
///
public partial class SB : UserControl, INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public SB()
{
InitializeComponent();
}
private string _selectedText = string.Empty;
public string SelectedText
{
get
{
return _selectedText;
}
set
{
if (_selectedText != value)
{
_selectedText = value;
RaisePropertyChanged("SelectedText");
}
}
}
private ObservableCollection _dataSource;
public ObservableCollection DataSource
{
get
{
if (_dataSource == null)
{
_dataSource = new ObservableCollection();
_dataSource.CollectionChanged += (sender, e) =>
{
if (e.OldItems != null)
{
foreach (INotifyPropertyChanged bookEx in e.OldItems)
{
bookEx.PropertyChanged -= ItemPropertyChanged;
}
}
if (e.NewItems != null)
{
foreach (INotifyPropertyChanged bookEx in e.NewItems)
{
bookEx.PropertyChanged += ItemPropertyChanged;
}
}
};
}
return _dataSource;
}
}
private void ItemPropertyChanged(object sender, PropertyChangedEventArgs e)
{
/*if (e.PropertyName == "IsChecked")
{
BookEx bookEx = sender as BookEx;
if (bookEx != null)
{
IEnumerable bookExs = BookExs.Where(b => b.IsChecked == true);
StringBuilder builder = new StringBuilder();
foreach (BookEx item in bookExs)
{
builder.Append(item.Book.Name + " ");
}
SelectedText = builder == null ? string.Empty : builder.ToString();
}
}*/
}
}
}